import $axios, { Result } from '@/plugins/axios'
import { PageParam } from '@/type'
import { AxiosResponse } from 'axios'

/**
 * 办件统计
 * @param year
 */
export async function queryMatterProcessStatisticsByType(
  data: Record<string, any>,
): Promise<AxiosResponse<Result>> {
  return await $axios.post(
    '/supervision-api/matter/queryMatterProcessStatisticsByType',
    data,
  )
}

/**
 * 获取办件列表
 * @param param 分页查询参数
 * @returns
 */
export async function queryMatterProcessStatisticList(
  param: PageParam,
): Promise<AxiosResponse<Result>> {
  return await $axios.post(
    '/supervision-api/matter/queryMatterProcessStatisticsDetails',
    {
      ...param,
    },
  )
}

/**
 * 我的待办统计列表
 * @param param 分页查询参数
 */
export async function queryMyPendingAuditData(
  param: PageParam,
): Promise<AxiosResponse<Result>> {
  return await $axios.post('/supervision-api/home/queryMyPendingAuditData', {
    ...param,
  })
}

/**
 * 事项办理统计列表
 * @param param 分页查询参数
 */
export async function queryProcessingMatters(
  param: PageParam,
): Promise<AxiosResponse<Result>> {
  return await $axios.post('/supervision-api/home/queryProcessingMatters', {
    ...param,
  })
}

/**
 * 部门办理统计列表
 * @param param 分页查询参数
 */
export async function getMatterAllUnitByPage(
  param: PageParam,
): Promise<AxiosResponse<Result>> {
  return await $axios.post(
    '/supervision-api/matterUnits/getMatterAllUnitByPage',
    {
      ...param,
    },
  )
}

/**
 * 获取决策落实办理统计图
 * @param
 */
export async function queryMatterAppraiseStatistics(): Promise<
  AxiosResponse<Result>
> {
  return await $axios.post(
    '/supervision-api/home/queryMatterAppraiseStatistics',
    {
      data: {},
    },
  )
}

/**
 * 获取牵头部门发牌统计数据
 * @param
 */
export async function queryDeptMatterCardRecordData(query: {
  unitId: number
  year: string
}): Promise<AxiosResponse<Result>> {
  return await $axios.post(
    `/supervision-api/matterCardRecord/queryDeptMatterCardRecordData/`,
    query,
  )
}

/**
 * 获取所有部门的发牌记录统计数据
 * @param param 分页查询参数
 */
export async function listAllDeptCardNum(
  param: PageParam,
): Promise<AxiosResponse<Result>> {
  return await $axios.post(
    '/supervision-api/matterCardRecord/listAllDeptCardNum',
    {
      ...param,
    },
  )
}

/**
 * 获取重点关注的事项数据
 * @param param 分页查询参数
 */
export async function queryFocusMatter(
  param: PageParam,
): Promise<AxiosResponse<Result>> {
  return await $axios.post('/supervision-api/matter/queryFocusMatter', {
    ...param,
  })
}

/**
 * 获取决策落实办件统计图
 */
export async function queryMatterProcessStatistics(): Promise<
  AxiosResponse<Result>
> {
  return await $axios.post('/supervision-api/home/queryMatterProcessStatistics')
}
